const arr = [
  { label:'bug', msg: '此项特别针对bug号，用于向测试反馈bug列表的bug修改情况' },
  { label:'feat', msg: '新功能（feature）' },
  { label:'fix', msg: '修补bug' },
  { label:'docs', msg: '提交文档' },
  { label:'refactor', msg: '重构，即不是新增功能，也不是修改bug的代码变动' },
  { label:'test', msg: '增加测试' },
  { label:'chore', msg: '构建过程或辅助工具的变动' },
  { label:'merge', msg: '合并分支， 例如： merge（前端页面）： feature-xxxx修改线程地址' }
]
export default {
  extends: ['@commitlint/config-conventional'],
  plugins: [
    {
      rules:{
        'type-empty': ({ header }) => {
          const regex = new RegExp(`^(${arr.map(e => e.label).join('|')}):[\u4e00-\u9fa5]{2,}$`)
          const pass = regex.test(header)
          let message = '类型必须为以下格式之一，并以\':\'间隔，以不少于2个中文的主题结束，例如\'feat:产品模块开发\'\n'
          arr.forEach(prefix => {
            message += `* ${prefix.label}(${prefix.msg})\n`
          })
          return [pass, message]
        },
        'subject-empty': () => {
          return [true, '']
        }
      }
    }
  ]
}
